/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package listas;

import java.io.Serializable;
import java.util.ArrayList;

/**
 * Esta clase define objetos que contienen listas de los usuario de correo 
 * registrados/agregados.
 * @author HaNs
 * @version v1.1.1
 */
public class ListaUsuariosRegistrados implements Serializable{
    private ArrayList<String> usuarios;

/**
 * Constructor de la clase
 */    
    public ListaUsuariosRegistrados() {
       usuarios = new ArrayList<>();
    }//Cierre del constructor
 
/**
 * Metodo que registra/agrega los usuarios de correo registrados.
 * @param nombreUser El parametro nombreUser define el nombre del usuario de 
 * correo registrado.
 */
    public void agregarUsuario(String nombreUser){
        usuarios.add(nombreUser);
    }//Cierre del método
 
/**
 * Método que elimina a un usuario de correo registrado.
 * @param nombreUser El parametro nombreUser define el nombre del usuario de 
 * correo registrado.
 */
    public void eliminarUsuario(String nombreUser){
        usuarios.remove(nombreUser);
    }//Cierre del método

/**
 * Método que devuelve true/false si existe un usuario de correo
 * @param nombreUser El parametro nombreUser define el nombre del usuario de 
 * correo registrado.
 * @return boolean Un objeto boolean que es el resultado si existe o no existe
 * un usuario de correo registrado.
 */    
    public boolean existeUsuario(String nombreUser){
        int i = 0;
        int dimension = usuarios.size();
        if (dimension == 0) {
            return false;
        }
        String nombre = "";
        do {            
            nombre = usuarios.get(i);
            i++;
        } while ((i < dimension) && (!nombre.equals(nombreUser)));
        if (nombre.equals(nombreUser)) {
            return true;
        }
        return false;
    }//Cierre del método

/**
 * Método que devuelve la cantidad de usuarios de correo registrados.
 * @return int Un objeto entero que es el resultado de la cantidad de usuarios 
 * de correo registrados.
 */
    public int cantidadUsuarios(){
        return usuarios.size();
    }//Cierre del método

/**
 * Método que debuelve una lista de los usuarios de correo registrados.
 * @return ArrayList Un objeto ArrayList que es el resultado de la lista de los
 * usuarios de correo registrados.
 */    
    public ArrayList<String> obtenerUsuarios(){
        return usuarios;
    }//Cierre del método
    
}//Cierre de la clase
